(跪求!非常急!!!)[Microsoft][ODBC SQL Server Driver][SQL Server]为 datediff 指定了无效的参数 1。

来源:百度知道 编辑:UC知道 时间:2024/06/11 01:48:07
我是把一个论坛的ACESS数据库转换成SQL server数据库的!
先出现如下报错:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]为 datediff 指定了无效的参数 1。

错误源码如下:
conn.execute("Delete from [Fy_UsersOnline] where DateDiff("&SqlChar&"n"&SqlChar&",lasttime,"&SqlNowString&")>"&SiteSettings("UserOnlineTime")&" ")
请问怎么去定义DateDiff呢??
是不是代码中关于datediff("s",session("line"),now())>30或者Rs("lasttime")=now中的NOW也需要改动吗??
请各位高手指点一下!在先有的基础上该怎么改??非常急.谢谢各位.
conn.asp里面的部分代码如下:
set connStr=server.CreateObject("ADODB.Connection")
connStr.open"Driver={SQL Server};Server=(local);Uid=sa;Pwd=sa;Database=cn31044_db"
SqlNowString="getdate()"
SqlChar="'"

conn.execute("Delete from [Fy_UsersOnline] where DateDiff('"&SqlChar&"n"&SqlChar&"',lasttime,'"&SqlNowString&"')>"&SiteSettings("UserOnlineTime"))

试试这样,在sql语句中,字符串最好用''括起来

补充回答:
conn.execute("Delete from [Fy_UsersOnline] where DateDiff('n',lasttime,'"&SqlNowString&"')>"&SiteSettings("UserOnlineTime"))